📋 IEEE2030.5 XML 資源樹
📁 DeviceCapability (dcap)
└─ EndDeviceList
└─ EndDevice (edev)
├─ DeviceInformation
├─ PowerStatus
├─ DER (der)
│ ├─ DERProgramList
│ │ └─ DERProgram
│ ├─ DERControlList
│ │ └─ DERControl
│ ├─ DefaultDERControl
│ ├─ DERCapability
│ ├─ DERSettings
│ ├─ DERStatus
│ └─ DERAvailability
├─ MeterReading (mup)
│ ├─ MeterReadingList
│ └─ ReadingType
├─ SubscriptionList
│ └─ Subscription
└─ FunctionSetAssignments
└─ FSA (fsa)
📁 Time & Pricing (tmz/prc)
├─ TimeTariffInterval
├─ TariffProfile
└─ PriceEvent
📁 Demand Response (drlc)
├─ DRProgram
├─ DREvent
└─ DRControl
👤 管理使用者
系統管理員、操作員
Web UI 管理介面⚡ EMS 能源管理系統
現場部署控制系統
JSON API + Webhook🔌 DER 實體設備
太陽能、儲能、充電樁
透過 EMS 間接控制🏛️ IEEE2030.5 Server
Frontend (Vue3)
資源管理介面、XML 結構檢視、憑證管理
Backend (NestJS)
• Resource Manager XML 資源管理
• DERControl Engine 控制引擎
• Subscription Manager 訂閱通知
• Auth & Cert Handler 憑證處理
• FSA Resolver 功能集解析
• DERControl Engine 控制引擎
• Subscription Manager 訂閱通知
• Auth & Cert Handler 憑證處理
• FSA Resolver 功能集解析
Function Set Assignments (FSA)
• dcap (DeviceCapability)
• der (DER Control & Status)
• mup (MeterReading)
• sub (Subscription)
• der (DER Control & Status)
• mup (MeterReading)
• sub (Subscription)
💰 Time-of-Use Pricing
• TariffProfile 電價表
• TimeTariffInterval 分時電價
• PriceEvent 即時價格事件
• TimeTariffInterval 分時電價
• PriceEvent 即時價格事件
⚡ Demand Response (DRLC)
• DRProgram 需量反應計畫
• DREvent 緊急卸載事件
• Load Curtailment 負載削減
• DREvent 緊急卸載事件
• Load Curtailment 負載削減
🚫 CRL 憑證吊銷機制
憑證
檢查
檢查
→
CRL
查詢
查詢
→
狀態
驗證
驗證
→
拒絕
連線
連線
Database (PostgreSQL)
• Resource 主資源表 (XML 節點)
• EndDevice & DER 設備註冊
• Subscription 訂閱管理
• Device FSA 功能綁定
• User & Role 權限控制
• Certificate Blacklist CRL 黑名單
• EndDevice & DER 設備註冊
• Subscription 訂閱管理
• Device FSA 功能綁定
• User & Role 權限控制
• Certificate Blacklist CRL 黑名單
🎛️ Utility Server
Frontend (Vue SPA)
設備管理、控制策略、監控儀表板
API Gateway (NestJS)
• 業務邏輯封裝層
• IEEE2030.5 API 代理
• server2030.service.js 轉換
• 權限驗證與授權
• IEEE2030.5 API 代理
• server2030.service.js 轉換
• 權限驗證與授權
北向註冊流程管理
• 預建 LFDI 設備池選擇
• EndDevice 命名與分類
• Domain 階層管理
• 授權容量控制機制
• EndDevice 命名與分類
• Domain 階層管理
• 授權容量控制機制
Auth Service (JWT/Refresh)
• Access Token 短期驗證
• Refresh Token 長期維持
• 黑名單 Token 管理
• 角色權限動態檢查
• Refresh Token 長期維持
• 黑名單 Token 管理
• 角色權限動態檢查
Database (PostgreSQL + Redis)
• Users & Roles 使用者管理
• Devices & FSA Bindings 設備綁定
• Domains 管理域階層
• Device Certificates 憑證庫
• Redis: Token 快取 & 模糊搜尋
• Devices & FSA Bindings 設備綁定
• Domains 管理域階層
• Device Certificates 憑證庫
• Redis: Token 快取 & 模糊搜尋
🔗 Aggregator Client
Django REST Framework
• EMS Southbound API 南向介面
• JSON ⟷ XML 格式轉換
• 多設備並發控制管理
• 錯誤處理與重試機制
• JSON ⟷ XML 格式轉換
• 多設備並發控制管理
• 錯誤處理與重試機制
🔄 多 DER 聚合控制邏輯
PV 太陽能
ESS 儲能
EV 充電
負載設備
⟹
聚合控制中心
統一排程 • 狀態合併 • 負載平衡
統一排程 • 狀態合併 • 負載平衡
⟹
IEEE2030.5
Server
🔐 Webhook 安全驗證機制
Token
生成
生成
→
HMAC
簽名
簽名
→
傳送
驗證
驗證
→
失敗
重試
重試
🔄 Webhook 重送與異常處理
異常處理流程
發送失敗
→
指數退避
→
重試3次
Timeout
→
記錄日誌
→
告警通知
APScheduler 智慧排程引擎
• IEEE2030.5 Server 定時掃描
• DERControl 任務時間計算
• randomizeStart/duration 處理
• 並發任務執行與監控
• DERControl 任務時間計算
• randomizeStart/duration 處理
• 並發任務執行與監控
IEEE2030.5 Client 模組
• Server 資源樹掃描與解析
• FSA 功能集動態對應
• DERProgram Processor 程式處理
• 控制任務更新與取消邏輯
• FSA 功能集動態對應
• DERProgram Processor 程式處理
• 控制任務更新與取消邏輯
Database (PostgreSQL)
• EndDevice & DER 本地狀態快取
• DER Control Base 控制參數
• Active DER Control 有效控制
• Webhook 發送歷史與重試記錄
• EMS 回應狀態與錯誤日誌
• Retry Queue 重送佇列管理
• DER Control Base 控制參數
• Active DER Control 有效控制
• Webhook 發送歷史與重試記錄
• EMS 回應狀態與錯誤日誌
• Retry Queue 重送佇列管理
📊 資料類型與回報頻率
📈 TelemetryStatus
即時功率、電壓、電流、溫度、SOC 狀態
每 1-5 分鐘
⚡ MeterReading
電錶讀值、累計電量、需量峰值
每 15 分鐘
🔄 DERStatus
設備運行狀態、故障代碼、維護信息
每 5-10 分鐘
📊 DERAvailability
可用功率、預留容量、維護排程
每小時
🎯 DERControl
控制指令、執行結果、完成狀態
即時推送
💰 PriceEvent
即時電價、分時費率、需量費用
事件觸發
⚠️ DREvent
需量反應、緊急卸載、負載削減
緊急推送
🔔 Subscription
資源變更通知、事件推播
即時通知